package com.balabala.gym_system.service;

import com.balabala.gym_system.pojo.dto.*;
import com.balabala.gym_system.pojo.entity.Admin;
import com.balabala.gym_system.pojo.vo.AdminRoleVo;
import com.balabala.result.Result;
import com.baomidou.mybatisplus.extension.service.IService;
import com.balabala.gym_system.pojo.vo.AdminVo;

import java.util.List;

/**
 * Author:zl
 * Date:2023/5/1 9:25
 */

public interface AdminService extends IService<Admin> {
    /**
     * 添加用户
     * @param adminDto
     * @return
     */
    Result insertAdmin(AdminDto adminDto);

    /**
     * 修改用户信息
     * @param adminDto
     * @return
     */
    Boolean updateById(AdminDto adminDto);

    /**
     * 启用禁用用户
     * @param updateStatusDto
     * @return
     */
    Boolean updateStatusById(UpdateStatusDto updateStatusDto);

    /**
     * 登录
     * @param loginDto
     * @return 生成的jwt令牌
     */
    Result login(LoginDto loginDto);



    /**
     * 查询用户以及角色
     * @param adminQueryDto
     * @return
     */
    List<AdminRoleVo> findRole(AdminQueryDto adminQueryDto);

    /**
     * 修改用户角色
     * @param adminUpdateByIdsDto
     * @return
     */
    void adminUpdateByIds(AdminUpdateByIdsDto adminUpdateByIdsDto);

    /**
     * 修改用户场馆
     * @param adminUpdateVenueByIdsDto
     */
    void adminUpdateVenueByIds(AdminUpdateVenueByIdsDto adminUpdateVenueByIdsDto);

    /**
     * 根据id查用户信息
     * @param id
     * @return
     */
    AdminVo findById(Long id);
}
